/**
 * GetFileType.java
 * 2009-4-23 上午10:08:09
 *
 */
package com.esen.auwserv.test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * @author 何江舟
 *
 * 测试根据输入的文件名来判断文件格式
 * 其中文件名为一个String对象
 */
public class GetFileType {

  /**
   * @param args
   */
  public static void main(String[] args) {
    BufferedReader read = new BufferedReader(new InputStreamReader(System.in)); // 获取键盘输入的Scanner对象
    String fileName = "";

    try {
      fileName = read.readLine(); // 从键盘输入获得文件名
    }
    catch (IOException ioe) {
      ioe.printStackTrace();
    }
    finally {
      if (read != null) {
        try {
          read.close();
        }
        catch (IOException ioe) {
          ioe.printStackTrace();
        }
      }

    }

    int lastPosition = fileName.lastIndexOf("."); // 获得文件名中最后一个'.'的位置，其后的子串就是文件格式
    String fileType = "Unknown File Type!"; // 默认文件格式为“Unknown File Type!”，即未知的文件格式

    if (lastPosition >= 0) { // 当lastPosition大于等于零时，说明输入的文件名包含文件格式
      fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
    }

    // 下面语句判断当输入的文件名类似于"test."，即'.'出现在末尾时，文件格式字符串是否为空。
    // 测试结果表明，此时fileType是一个空字符串，而非null值
    //          System.out.println(fileType == null);

    System.out.println("File Type: " + fileType); // 在控制台打印文件格式，看是否达到预期效果
  }
}
